package org.black.phoneUtility.sms.schedule.database.dataModel;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

public class SmsSchedule implements Serializable {

	private static final long serialVersionUID = 5226602395474076556L;

	private Long id;
	private String subject;
	private Date scheduleDateTime;
	private int repeatType;
	private Integer repeatEvery;
	private boolean repeatOnSunday;
	private boolean repeatOnMonday;
	private boolean repeatOnTuesday;
	private boolean repeatOnWednesday;
	private boolean repeatOnThursday;
	private boolean repeatOnFriday;
	private boolean repeatOnSaturday;
	private String message;
	private boolean isActivated;
	private int endType;
	private Integer endAfterTimes;
	private Date endOnSpecificDateTime;
	private Date nextScheduleDateTime;
	private Date creationDateTime;
	private Date modificationDateTime;

	private List<SmsScheduleRecipient> smsScheduleRecipients;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getSubject() {
		return subject;
	}

	public void setSubject(String subject) {
		this.subject = subject;
	}

	public Date getScheduleDateTime() {
		return scheduleDateTime;
	}

	public void setScheduleDateTime(Date scheduleDateTime) {
		this.scheduleDateTime = scheduleDateTime;
	}

	public int getRepeatType() {
		return repeatType;
	}

	public void setRepeatType(int repeatType) {
		this.repeatType = repeatType;
	}

	public Integer getRepeatEvery() {
		return repeatEvery;
	}

	public void setRepeatEvery(Integer repeatEvery) {
		this.repeatEvery = repeatEvery;
	}

	public boolean isRepeatOnSunday() {
		return repeatOnSunday;
	}

	public void setRepeatOnSunday(boolean repeatOnSunday) {
		this.repeatOnSunday = repeatOnSunday;
	}

	public boolean isRepeatOnMonday() {
		return repeatOnMonday;
	}

	public void setRepeatOnMonday(boolean repeatOnMonday) {
		this.repeatOnMonday = repeatOnMonday;
	}

	public boolean isRepeatOnTuesday() {
		return repeatOnTuesday;
	}

	public void setRepeatOnTuesday(boolean repeatOnTuesday) {
		this.repeatOnTuesday = repeatOnTuesday;
	}

	public boolean isRepeatOnWednesday() {
		return repeatOnWednesday;
	}

	public void setRepeatOnWednesday(boolean repeatOnWednesday) {
		this.repeatOnWednesday = repeatOnWednesday;
	}

	public boolean isRepeatOnThursday() {
		return repeatOnThursday;
	}

	public void setRepeatOnThursday(boolean repeatOnThursday) {
		this.repeatOnThursday = repeatOnThursday;
	}

	public boolean isRepeatOnFriday() {
		return repeatOnFriday;
	}

	public void setRepeatOnFriday(boolean repeatOnFriday) {
		this.repeatOnFriday = repeatOnFriday;
	}

	public boolean isRepeatOnSaturday() {
		return repeatOnSaturday;
	}

	public void setRepeatOnSaturday(boolean repeatOnSaturday) {
		this.repeatOnSaturday = repeatOnSaturday;
	}

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}

	public boolean isActivated() {
		return isActivated;
	}

	public void setActivated(boolean isActivated) {
		this.isActivated = isActivated;
	}

	public int getEndType() {
		return endType;
	}

	public void setEndType(int endType) {
		this.endType = endType;
	}

	public Integer getEndAfterTimes() {
		return endAfterTimes;
	}

	public void setEndAfterTimes(Integer endAfterTimes) {
		this.endAfterTimes = endAfterTimes;
	}

	public Date getEndOnSpecificDateTime() {
		return endOnSpecificDateTime;
	}

	public void setEndOnSpecificDateTime(Date endOnSpecificDateTime) {
		this.endOnSpecificDateTime = endOnSpecificDateTime;
	}

	public Date getNextScheduleDateTime() {
		return nextScheduleDateTime;
	}

	public void setNextScheduleDateTime(Date nextScheduleDateTime) {
		this.nextScheduleDateTime = nextScheduleDateTime;
	}

	public Date getCreationDateTime() {
		return creationDateTime;
	}

	public void setCreationDateTime(Date creationDateTime) {
		this.creationDateTime = creationDateTime;
	}

	public Date getModificationDateTime() {
		return modificationDateTime;
	}

	public void setModificationDateTime(Date modificationDateTime) {
		this.modificationDateTime = modificationDateTime;
	}

	public List<SmsScheduleRecipient> getSmsScheduleRecipients() {
		return smsScheduleRecipients;
	}

	public void setSmsScheduleRecipients(
			List<SmsScheduleRecipient> smsScheduleRecipients) {
		this.smsScheduleRecipients = smsScheduleRecipients;
	}

	@Override
	public String toString() {
		return "SmsSchedule [id=" + id + ", subject=" + subject
				+ ", scheduleDateTime=" + scheduleDateTime + ", repeatType="
				+ repeatType + ", repeatEvery=" + repeatEvery
				+ ", repeatOnSunday=" + repeatOnSunday + ", repeatOnMonday="
				+ repeatOnMonday + ", repeatOnTuesday=" + repeatOnTuesday
				+ ", repeatOnWednesday=" + repeatOnWednesday
				+ ", repeatOnThursday=" + repeatOnThursday
				+ ", repeatOnFriday=" + repeatOnFriday + ", repeatOnSaturday="
				+ repeatOnSaturday + ", message=" + message + ", isActivated="
				+ isActivated + ", endType=" + endType + ", endAfterTimes="
				+ endAfterTimes + ", endOnSpecificDateTime="
				+ endOnSpecificDateTime + ", nextScheduleDateTime="
				+ nextScheduleDateTime + ", creationDateTime="
				+ creationDateTime + ", modificationDateTime="
				+ modificationDateTime + ", smsScheduleRecipients="
				+ smsScheduleRecipients + "]";
	}

}
